The present invention relates to a multicast communication method including control of the receive order of multicast packets in, e.g., a computerized conference system, and a multicast communication apparatus using the method.
In a computerized conference system and so on which share the window of a plurality of terminals, e.g., personal computers, an application which matches the operation result of each terminal in all the terminals which share the window is used. In this case, when a given terminal in a group which shares the window receives a multicast packet transmitted from another terminal in that group, all the terminals in the group are required to maintain an identical receive order of multicast packets, and pass packets to the application.
As a communication system which meets such requirement, the following system is known. That is, in this system, a given terminal in a multicast communication group has an order control section for controlling the receive order of multicast packets to maintain an identical receive order of multicast packets. As the order control method of multicast packets, the following methods are available.
1) A terminal having a multicast packet inquires the receive order in the group of the order control section. The order control section transmits the receive order of multicast packets to the terminal having a multicast packet in response to the inquiry. The terminal having a multicast packet transmits the receive order received from the order control section together with the multicast packet. Upon receiving the multicast packet and receive order, the respective terminals rearrange multicast packets in accordance with the received receive order, and pass them to the application.
2) A terminal having a multicast packet transmits the packet to be multicasted to a terminal having the order control section. Upon receiving the packet to be multicasted, the order control section multicasts that packet to other terminals in the group together with the receive order. When the terminal including a multicast packet has the order control section, it transmits the receive order together with the multicast packet.
3) A terminal which has a multicast packet transmits the multicast packet to all terminals including a terminal having an order control section. The order control section assigns the receive order of packet to the received multicast packet, and informs other terminals of that receive order. Upon receiving the multicast packet, the respective terminals rearrange multicast packets in accordance with the informed receive order. When the terminal including a multicast packet has the order control section, it sends the receive order together with the multicast packet.
In any of methods 1 to 3, when the terminal which performs order control of multicast packets matches a terminal for multicasting a packet, no communication is required via a network to determine the receive order of multicast packets. However, when the terminal which performs the order control differs from the terminal having a multicast packet, control data for controlling the receive order of multicast packets must be exchanged between the terminal with the order control section and other terminals via the network.
For this reason, when many multicast packets are transmitted from terminals other than the terminal which performs the order control, many data must be exchanged via the network to achieve the order control. If the transfer rate of the communication network is not high enough, much time is required to transmit multicast packets.
On such communication system, which terminal transmits a greater number of multicast packets largely depends on the application which uses the communication system and the purposes intended by the user who uses the application. Hence, it is difficult to specify a terminal which transmits a greater number of multicast packets in advance.
As described above, conventionally, when many multicast packets are transmitted from terminals other than the terminal for performing the order control, many data must be exchanged via the network to achieve the order control. If the transfer rate of the communication network is not high enough, much time is required to transmit multicast packets.
Also, the number of multicast packets transmitted from each terminal on the communication system largely depends on the application which uses the communication system and the purposes intended by the user who uses the application. Hence, it is difficult to specify a terminal which transmits a greater number of multicast packets in advance.
It is an object of the present invention to provide a multicast communication method which can achieve high-speed multicast communications while maintaining an identical receive order of multicast packets in a plurality of terminals upon exchanging multicast packets among the plurality of terminals.
It is another object of the present invention to provide a multicast communication method and apparatus, which can efficiently make multicast communications while reducing the amount of transmit/receive data required for maintaining the receive order of multicast data.
The present invention provides selecting from among a plurality of terminals connected by a network a terminal for determining a receive order for maintaining an identical order of multicast packets to be received by the plurality of terminals, in accordance with a state of multicast packets which are transmitted by at least some of the terminals; and
transmitting a multicast packet after the receive order informed from the selected terminal is appended to the multicast packet, upon transmitting the multicast packet from one of the plurality of terminals.
The present invention provides a communication apparatus comprising a determination section which determines a receive order for maintaining an identical order of multicast packets to be received by at least some of the plurality of terminals, in accordance with a request from at least one of the terminals which transmits a multicast packet, when multicast packets are exchanged among at least some of the plurality of terminals connected to a network, and a start-up section for starting up the determination section when a terminal is selected from among the plurality of terminals on the basis of a state of multicast packets which are transmitted among at least some of the plurality of terminals.
The present invention provides a communication apparatus comprising a detection section which detects a state of multicast packets which are transmitted by at least some of a plurality of terminals connected by a network, when multicast packets are exchanged among the plurality of terminals, and a selection section which selects from among the plurality of terminals a terminal for determining a receive order for maintaining an identical order of multicast packets to be received by the plurality of terminals in accordance with a detection result of the detection section.
Furthermore, the present invention provides a multicast communication method of performing a multicast communication using packets among a plurality of terminals connected by a network, comprising the steps of issuing a receive order request to a terminal which determines a receive order number for maintaining an identical order of multicast data to be received by at least some of the plurality of terminals, upon transmitting multicast data, determining based on a size of the multicast data whether or not a packet to be transmitted is to contain the multicast data, multicasting, to the plurality of terminals, a packet formed by appending to the multicast data a receive order number informed in response to a request, when issuance of the receive order number is requested using a packet which does not contain multicast data, and writing a receive order number issued for the multicast data in the packet when the terminal for determining the receive order number receives the packet which requests to issue the receive order number, and the received packet contains the multicast data, and multicasting the packet to the plurality of terminals.
Furthermore, the present invention provides a communication apparatus comprising a request section which requests a terminal for determining a receive order number for maintaining an identical order of multicast data to be received by at least some of a plurality of terminals to issue the receive order number, when multicast data are exchanged using packets among the plurality of terminals connected by a network, a discrimination section which discriminates based on a size of the multicast data whether or not the multicast data is attended to a packet output when the receive order number is requested by the request section, and a multicast section which multicasts a packet formed by appending the receive order number informed in response to the request to the multicast data, to the plurality of terminals when the request section requests to issue the receive order number using a packet which does not contain multicast data.
Furthermore, the present invention provides a communication apparatus for exchanging multicast data using packets among a plurality of terminals connected by a network, comprising an issue section which issues a receive order number upon receiving a packet, which is transmitted from one of the plurality of terminals that requests to issue the receive order number for maintaining an identical order of multicast data to be received by the plurality of terminals, a multicast section which writes the receive order number issued by the issue section in the packet and multicasts the packet to the plurality of terminals, when the received packet contains multicast data, and an informing section which informs a terminal, which requests the receive order number, of the receive order number issued by the issue section, when the received packet does not contain multicast data.
According to the present invention, since the issue procedure of the receive order number can be switched in correspondence with the multicast data size, multicast communications can be efficiently made while reducing the amount of transmit/receive data required for maintaining the receive order of multicast data.
According to the present invention, upon receiving multicast data, the receive order number of specific multicast data informed in advance is ignored, and other multicast data are received in the order of receive order numbers. Hence, even when a failure has been detected in one of terminals which form a multicast group, the receive order of multicast packets can be smoothly corrected among terminals other than the terminal which has failed, thus flexibly coping with dynamic changes in environment of the network without interrupting communications.
Additional objects and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The objects and advantages of the invention may be realized and obtained by means of the instrumentalities and combinations particularly pointed out hereinafter.